home *** CD-ROM | disk | FTP | other *** search
-
- -- -----------------------------------------------------------------
- -- Init
- -- -----------------------------------------------------------------
- local function prog_init()
- initModels()
- sound_playMusic("music/rybky02.ogg")
- local pokus = getRestartCount()
-
-
- -- -------------------------------------------------------------
- local function prog_init_room()
- local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
-
- room.switch = 2 - math.mod(pokus, 2)
- room.kdy = 20 + random(20)
- room.bav = random(150)
- room.sprs = 0
- room.sp = 0
- room.pokl = 0
-
- return function()
- pom1 = 0
- if room.kdy > 0 then
- room.kdy = room.kdy - 1
- end
- if room.bav > 0 then
- room.bav = room.bav - 1
- end
- if no_dialog() and isReady(small) and isReady(big) then
- if room.kdy == 0 then
- pom1 = room.switch
- room.switch = 3 - room.switch
- room.kdy = 500 + random(1000)
- end
- if room.sprs == 0 then
- if dist(small, sprc) < 2 or sprc.dir ~= dir_no then
- if random(20) == 1 then
- room.sprs = 1
- pom1 = 3
- end
- end
- end
- if room.bav == 0 and (whirlpool.tvor > 0 and dist(small, whirlpool) < 2 or whirlpool.dir ~= dir_no) then
- if whirlpool:isTalking() or whirlpool.dir ~= dir_no then
- pom2 = random(200)
- else
- pom2 = random(500)
- end
- switch(pom2){
- [6] = function()
- pom1 = 6
- end,
- [7] = function()
- pom1 = 7
- end,
- }
- end
- if room.sp == 0 and sprc.dir == dir_down and random(10) == 1 then
- room.sp = 1
- pom1 = 5
- end
- if room.pokl == 0 and small.X <= sprc.X and small.Y <= sprc.Y then
- room.pokl = 1
- pom1 = 4
- end
- end
- if pom1 >= 6 then
- room.bav = random(1000) + 1000
- end
- switch(pom1){
- [1] = function()
- if random(4) > 0 then
- addv(7, "br-v-komfort")
- end
- addm(7, "br-m-bydli")
- if random(5) > 0 then
- addv(7, "br-v-santusak")
- if random(6) > 0 then
- addm(7, "br-m-podvodnik")
- end
- end
- end,
- [2] = function()
- addm(7, "br-m-vsim" ..random(3))
- addv(0, "br-v-nerozvadet" ..random(3))
- if random(7) > 0 then
- addm(10, "br-m-dva")
- addv(5, "br-v-dost")
- end
- end,
- [3] = function()
- addm(7, "br-m-sprcha")
- addv(7, "br-v-lazen")
- if random(7) > 0 then
- addm(9, "br-m-zapnout")
- addv(6, "br-v-shodit")
- end
- end,
- [4] = function()
- addm(random(10) + 2, "br-m-poklady")
- end,
- [5] = function()
- addv(7, "br-v-nechat")
- if random(7) > 0 then
- addm(7, "br-m-nefunguje")
- end
- end,
- [6] = function()
- if whirlpool:isTalking() then
- adddel(13)
- end
- if random(7) > 0 then
- addm(7, "br-m-ahoj")
- end
- addv(7, "br-v-draha")
- if random(6) > 0 then
- addm(7, "br-m-zkusit")
- end
- end,
- [7] = function()
- if whirlpool:isTalking() then
- adddel(16)
- end
- addm(7, "br-m-bavi")
- end,
- }
- end
- end
-
- -- -------------------------------------------------------------
- local function prog_init_whirlpool()
- local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
-
- whirlpool.tvor = 0
-
- return function()
- if whirlpool.anim == "" then
- switch(random(5)){
- [3] = function()
- if game_getCycles() > 20 then
- setanim(whirlpool, "d?2-8S[tvor],1a4d?2-5a5a4d?1-3a5d?1-3a4d?2-7a5d?1-3S[tvor],0a0d?2-4")
- end
- end,
- [4] = function()
- if game_getCycles() > 20 then
- setanim(whirlpool, "d?1-3S[tvor],1a4d?1-5a5d?1-5a4d?1-5" ..
- "a6a7a8a9a6a7a8a9a6a7a8a9a6a7a8a9d?2-5a4d?1-3a5d1a4d?1-3" ..
- "a9a8a7a6a9a8a7a6a9a8a7a6a9a8a7a6d?1-3a4d?1-3S[tvor],0a0")
- end
- end,
- default = function()
- setanim(whirlpool, "d13a0a1a2a3a0a1a2a3a0a1a2a3a0a1a2a3d8a3a2a1a0a3a2a1a0a3a2a1a0a3a2a1a0")
- end,
- }
- end
-
- if odd(game_getCycles()) then
- goanim(whirlpool)
- elseif whirlpool.tvor == 1 and whirlpool.afaze > 5 and not whirlpool:isTalking() and random(20) == 1 then
- whirlpool:talk("br-x-pracka", VOLUME_FULL)
- end
-
- whirlpool:updateAnim()
- end
- end
-
- -- --------------------
- local update_table = {}
- local subinit
- subinit = prog_init_room()
- if subinit then
- table.insert(update_table, subinit)
- end
- subinit = prog_init_whirlpool()
- if subinit then
- table.insert(update_table, subinit)
- end
- return update_table
- end
- local update_table = prog_init()
-
-
- -- -----------------------------------------------------------------
- -- Update
- -- -----------------------------------------------------------------
- function prog_update()
- for key, subupdate in pairs(update_table) do
- subupdate()
- end
- end
-
-